﻿Imports System.Data
Imports System.Data.SqlClient

Public Class HistoricoCargas

    Sub New()

    End Sub

    Function inserir(ByVal segNome As String, ByVal segDescricao As String,
                     ByVal segValor As Double, ByVal segAtivo As Char) As Integer
        Dim cmd As New SqlCommand
        Dim objD As New Dados
        Dim codigo As Integer
        Try

            'Comando para inserção de dados no banco
            cmd.CommandText = "INSERT INTO seguro (seg_nome, seg_descricao, seg_Valor, seg_ativo_sn)"

            'Parâmetros de entrada
            cmd.Parameters.Add(New SqlParameter("@segNome", SqlDbType.VarChar, 50)).Value = segNome
            cmd.Parameters.Add(New SqlParameter("@segDescricao", SqlDbType.VarChar, 150)).Value = segDescricao
            cmd.Parameters.Add(New SqlParameter("@segValor", SqlDbType.Money)).Value = segValor
            cmd.Parameters.Add(New SqlParameter("@segAtivo", SqlDbType.Char)).Value = segAtivo

            'Execução da inserção com retorno do valor da chave primária
            codigo = objD.executacomandoAI(cmd, "seguro")

        Catch ex As Exception
            Throw ex
        End Try
        cmd = Nothing
        objD = Nothing
        Return codigo
    End Function

    Sub alterar(ByVal codigo As Integer, ByVal segNome As String, ByVal segDescricao As String,
                     ByVal segValor As Double, ByVal segAtivo As Char)
        Dim cmd As New SqlCommand
        Dim objD As New Dados

        Try

            'Comando para atualização de dados no banco
            cmd.CommandText = "UPDATE seguro SET seg_nome = @segNome, seg_descricao = @segDescricao" & _
                " seg_valor = @segValor, seg_ativo_sn = @segAtivo" & _
                " WHERE seg_codigo = @codigo"

            'Parâmetros de entrada
            cmd.Parameters.Add(New SqlParameter("@codigo", SqlDbType.Int)).Value = codigo
            cmd.Parameters.Add(New SqlParameter("@segNome", SqlDbType.VarChar, 50)).Value = segNome
            cmd.Parameters.Add(New SqlParameter("@segDescricao", SqlDbType.VarChar, 150)).Value = segDescricao
            cmd.Parameters.Add(New SqlParameter("@segValor", SqlDbType.Money)).Value = segValor
            cmd.Parameters.Add(New SqlParameter("@segAtivo", SqlDbType.Char)).Value = segAtivo

            'Execução da alteração
            objD.executacomando(cmd)
        Catch ex As Exception
            Throw ex
        End Try
        cmd = Nothing
        objD = Nothing
    End Sub

    Sub excluir(ByVal codigo As Integer)
        Dim cmd As New SqlCommand
        Dim objD As New Dados
        Try
            'Comando para exclusão de um registro no banco
            cmd.CommandText = "DELETE FROM seguro WHERE seg_codigo = @codigo"

            'Parâmetro de comparação
            cmd.Parameters.Add(New SqlParameter("@codigo", SqlDbType.Int)).Value = codigo

            'Execução do comando
            objD.executacomando(cmd)
        Catch ex As Exception
            Throw ex
        End Try
        cmd = Nothing
        objD = Nothing
    End Sub

    Function localizar(ByVal descricao As String) As DataTable
        Dim cmd As New SqlCommand
        Dim objD As New Dados
        Dim tab As DataTable = Nothing
        Try
            'Comando para localizar vários registros no banco
            cmd.CommandText = "SELECT * FROM seguro WHERE seg_nome like @descricao"

            'Parâmetro de entrada
            cmd.Parameters.Add(New SqlParameter("@descricao", SqlDbType.VarChar)).Value = descricao + "%"

            'Execução do comando
            tab = objD.executaConsulta(cmd)

        Catch ex As Exception
            Throw ex
        End Try
        cmd = Nothing
        objD = Nothing
        Return tab
        tab = Nothing
    End Function

    Function localizar(ByVal codigo As Integer) As DataTable
        Dim cmd As New SqlCommand
        Dim objD As New Dados
        Dim tab As DataTable = Nothing
        Try
            'Comando para localizar vários registros no banco
            cmd.CommandText = "SELECT * FROM seguro WHERE seg_codigo = @codigo"

            'Parâmetro de entrada 
            cmd.Parameters.Add(New SqlParameter("@codigo", SqlDbType.Int)).Value = codigo

            'Execução do comando
            tab = objD.executaConsulta(cmd)

        Catch ex As Exception
            Throw ex
        End Try
        cmd = Nothing
        objD = Nothing
        Return tab
        tab = Nothing
    End Function
End Class
